The present embodiment(s) relates to data storage and mapping a logical location of the stored data to a physical location. More specifically, the embodiment(s) relates to an address change of either a logical or physical address of the data, and an application program interface to convert any address changes together with any re-located data.
A key-value pair is a set of two linked data items, including a key, which is a unique identifier for an item of data, and the value, which is either the data that is identified or a pointer to the location of that data. The key-value pairs are mapped to a single container, which is an abstraction, similar to a file, providing a logical description of the way that data will be stored and the operations that will be permitted on that data. Each container consists of one or more container slots, and each container slot is mapped to a logical abstraction, such as a volume or a logical unit.
Delete operations of key-value pairs may take place in various forms, including deletion of a single key-value pair or multiple key-value pairs. Deletion of key-value pairs may be designated or arbitrary, both of which result in garbage which needs to be collected in order to reclaim the underlying resource(s). Collection of the garbage is applied to the actual data as well as the metadata, such as indexes and container address translation tables.